O SIMT (Instrução Única, Vários Fios) modelo é o coração da arquitetura de GPU. Embora você escreva código para fios individuais, o hardware os organiza em uma hierarquia de dois níveis composta por malhas e blocos. Para maximizar a eficiência, o hardware particiona ainda mais esses blocos em unidades de 32 fios chamadas warps.
1. SIMT vs. SIMD
Diferentemente do SIMD da CPU (como SSE/AVX), onde você empacota os dados manualmente nos registradores, o SIMT permite que os fios pareçam independentes. O hardware agrupa automaticamente os fios em warps, buscando uma única instrução para todos os 32 fios para executá-la em sincronia.
2. Regra de Linearização
Os programadores usam threadIdx.x, y, z para lógica, mas o hardware transforma isso em uma sequência unidimensional para agendamento:
Como o eixo x é o índice que muda mais rapidamente, os fios com valores consecutivos de threadIdx.x geralmente são alocados no mesmo warp, o que é crucial para agregação de memória.